package com.zw.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zw.core.domain.AjaxResult;
import com.zw.dto.BudgetDto;
import com.zw.dto.BudgetSortDto;
import com.zw.dto.ImportBudgetDto;
import com.zw.entity.Budget;
import com.zw.entity.BudgetColumnsContent;
import com.zw.vo.BudgetVo;
import jakarta.validation.Valid;

import java.util.List;

public interface BudgetService extends IService<Budget> {

    List<BudgetVo> getBudgetDetail(BudgetDto budgetDto);

    void saveOrUpdateBudgets(List<BudgetColumnsContent> budgets);

    void removeBudget(Long id);

    Budget saveBudget(Budget budget);

    void updateBudgetSort(@Valid List<BudgetSortDto> sortRequests);

    void updateBudget(Budget budget);

    void importBudget(List<ImportBudgetDto> importBudgetDtos);

    void removeByProjectId(Long projectId);
}
